﻿using System.Runtime.InteropServices;

namespace SilverlightViewport.Common.Interop
{
    [ComImport, InterfaceType(ComInterfaceType.InterfaceIsIUnknown), 
    Guid("00000122-0000-0000-C000-000000000046")]
    public interface IDropTarget
    {
        [PreserveSig]
        int DragEnter([In, MarshalAs(UnmanagedType.Interface)] IDataObject pDataObj, [In] uint grfKeyState, [In] POINTL pt, [In, Out] ref uint pdwEffect);
        [PreserveSig]
        int DragOver([In] uint grfKeyState, [In] POINTL pt, [In, Out] ref uint pdwEffect);
        [PreserveSig]
        int DragLeave();
        [PreserveSig]
        int Drop([In, MarshalAs(UnmanagedType.Interface)] IDataObject pDataObj, [In] uint grfKeyState, [In] POINTL pt, [In, Out] ref uint pdwEffect);
    }
}
